package study.JavaBase;

/**
 * date:2025.10.13
 * title:构造函数
 * author:fzy
 */

public class Java_14 {
    public static void main(String[] arg) {
        /*
        多个对象指向相同
         */
        InitClass initClass = new InitClass();
        initClass.age  = 200;
        initClass.name  = "付志宇";
        InitClass initClass1 = initClass;
        initClass1.age = 3000;
        System.out.println(initClass.age);
        System.out.println(initClass.name);

    }
}

/**
 * 一些特点（你不知道的)
 * 不能被继承，但是可以被调用
 * this可以在构造方法中嗲用，类似ts
 * 对象初始化保障：保证对象处于一个合法的初始状态
 * 任何对象都有默认的构造方法，如果一个类中没有构造方法，java会给一个无参的默认构造方法
 */
//构造方法的重载
class InitClass {
    String name = "";
    int age = 0;
    InitClass(){
        name = "没有名字";
        age = 0;
    }
    InitClass(String name,int age){
        this.name = name;
        this.age = age;
    }
    InitClass(int age,String name){
        this.name = name;
        this.age = age;
    }

}
/*
构造方法的注意事项
每个类都有默认的构造方法，一旦你给出了构造方法，类就不会
给出默认的构造方法
 */
